#define _GNU_SOURCE // 声明可以使用扩展语法 gettid()
#include "pthread.h"
#include "stdio.h"
#include <unistd.h>
void *first_thread_fun(void *arg)
{
    printf("first线程(%d),开始执行\n", gettid());
    return NULL;
}

void *second_thread_fun(void *arg)
{
    printf("second线程(%d),开始执行\n", gettid());
    return NULL;
}
int main(int argc, char const *argv[])
{
    printf("main线程(%d)开始执行\n", gettid());

    // 创建两个分线程 （线程创建后，会自动执行线程函数）
    pthread_t pt1, pt2;
    pthread_create(&pt1, NULL, first_thread_fun, NULL);
    pthread_create(&pt2, NULL, second_thread_fun, NULL);
    printf("main线程(%d)继续执行\n", gettid());
    pthread_join(pt1, NULL);
    pthread_join(pt2, NULL);
    printf("main线程(%d)执行完毕\n", gettid());
    return 0;
}
